#include <sys/types.h>

#ifndef CPU_H
#define CPU_H

#define setInterruptFlags _sti
#define clearInterruptFlags _cli
#define halt _halt
#define getCR0 _getCR0
#define setCR0 _setCR0
#define getCR3 _getCR3
#define setCR3 _setCR3
#define setIDT _setIDT

extern "C" {
	void setInterruptFlags();
	void clearInterruptFlags();
	void halt();
	
	ulong_t getCR0();
	void setCR0(ulong_t value);
	ulong_t getCR3();
	void setCR3(ulong_t pageDirAddress);
	void setIDT(ulong_t idtAddress);
}

#endif
